[INFO] cloning repository https://github.com/zk-dragonnu8/nomt
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/zk-dragonnu8/nomt" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzk-dragonnu8%2Fnomt", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzk-dragonnu8%2Fnomt'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 122be28b70374f1aa2b6d38f90d99554fdd60c2b
[INFO] fixing zk-dragonnu8/nomt against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzk-dragonnu8%2Fnomt" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/zk-dragonnu8/nomt
[INFO] finished tweaking git repo https://github.com/zk-dragonnu8/nomt
[INFO] tweaked toml for git repo https://github.com/zk-dragonnu8/nomt written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/zk-dragonnu8/nomt on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/zk-dragonnu8/nomt already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 698cd126dd2ed8e25e9e5e8c553d70cc6b5676ea310236b16a7a6bc09f0d23f4
[INFO] running `Command { std: "docker" "start" "698cd126dd2ed8e25e9e5e8c553d70cc6b5676ea310236b16a7a6bc09f0d23f4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "698cd126dd2ed8e25e9e5e8c553d70cc6b5676ea310236b16a7a6bc09f0d23f4" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "698cd126dd2ed8e25e9e5e8c553d70cc6b5676ea310236b16a7a6bc09f0d23f4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "698cd126dd2ed8e25e9e5e8c553d70cc6b5676ea310236b16a7a6bc09f0d23f4" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating core/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating nomt/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating fuzz/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating torture/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating trickfs/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/commit_batch/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/read_value/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/witness_verification/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating trickfs/trickmnt/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling libc v0.2.169
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]     Checking object v0.36.0
[INFO] [stderr]    Compiling anyhow v1.0.95
[INFO] [stderr]    Compiling proc-macro2 v1.0.92
[INFO] [stderr]     Checking miniz_oxide v0.7.4
[INFO] [stderr]     Checking tap v1.0.1
[INFO] [stderr]     Checking radium v0.7.0
[INFO] [stderr]    Compiling ruint-macro v1.2.0
[INFO] [stderr]     Checking funty v2.0.0
[INFO] [stderr]     Checking constant_time_eq v0.3.0
[INFO] [stderr]    Compiling io-uring v0.6.4
[INFO] [stderr]     Checking hex v0.4.3
[INFO] [stderr]     Checking bitmaps v3.2.1
[INFO] [stderr]     Checking sha2 v0.10.8
[INFO] [stderr]     Checking wyz v0.5.1
[INFO] [stderr]     Checking crossbeam-channel v0.5.13
[INFO] [stderr]     Checking crossbeam-queue v0.3.11
[INFO] [stderr]     Checking thread_local v1.1.8
[INFO] [stderr]     Checking fxhash v0.2.1
[INFO] [stderr]     Checking bitflags v2.5.0
[INFO] [stderr]    Compiling rustix v0.38.43
[INFO] [stderr]     Checking crossbeam v0.8.4
[INFO] [stderr]     Checking regex-syntax v0.8.3
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking either v1.13.0
[INFO] [stderr]     Checking plotters-backend v0.3.6
[INFO] [stderr]     Checking csv-core v0.1.11
[INFO] [stderr]     Checking cast v0.3.0
[INFO] [stderr]     Checking half v1.8.3
[INFO] [stderr]     Checking ruint v1.12.1
[INFO] [stderr]     Checking imbl-sized-chunks v0.1.2
[INFO] [stderr]     Checking clap v2.34.0
[INFO] [stderr]     Checking bitvec v1.0.1
[INFO] [stderr]     Checking oorandom v11.1.4
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]     Checking anstyle-parse v0.2.6
[INFO] [stderr]    Compiling quote v1.0.36
[INFO] [stderr]     Checking plotters-svg v0.3.6
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]    Compiling jobserver v0.1.31
[INFO] [stderr]    Compiling syn v2.0.90
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]     Checking anstyle v1.0.10
[INFO] [stderr]     Checking colorchoice v1.0.3
[INFO] [stderr]    Compiling zerocopy v0.8.14
[INFO] [stderr]     Checking is_terminal_polyfill v1.70.1
[INFO] [stderr]    Compiling fuser v0.15.1
[INFO] [stderr]     Checking clap_lex v0.7.4
[INFO] [stderr]     Checking anstream v0.6.15
[INFO] [stderr]     Checking futures-channel v0.3.31
[INFO] [stderr]    Compiling cc v1.0.97
[INFO] [stderr]     Checking clap_builder v4.5.23
[INFO] [stderr]     Checking tracing-core v0.1.33
[INFO] [stderr]     Checking futures-io v0.3.31
[INFO] [stderr]     Checking home v0.5.9
[INFO] [stderr]     Checking regex-automata v0.4.6
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]     Checking num_cpus v1.16.0
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking criterion-plot v0.4.5
[INFO] [stderr]     Checking page_size v0.6.0
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking ahash v0.8.11
[INFO] [stderr]     Checking threadpool v1.8.1
[INFO] [stderr]     Checking tempfile v3.15.0
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]     Checking rand_xoshiro v0.6.0
[INFO] [stderr]     Checking rand_pcg v0.3.1
[INFO] [stderr]     Checking plotters v0.3.6
[INFO] [stderr]     Checking mio v1.0.3
[INFO] [stderr]     Checking socket2 v0.5.8
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking signal-hook-registry v1.4.2
[INFO] [stderr]     Checking which v4.4.2
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking imbl v3.0.0
[INFO] [stderr]    Compiling backtrace v0.3.73
[INFO] [stderr]    Compiling blake3 v1.5.1
[INFO] [stderr]    Compiling libfuzzer-sys v0.4.7
[INFO] [stderr]     Checking twox-hash v2.1.0
[INFO] [stderr]     Checking rand_distr v0.4.3
[INFO] [stderr]     Checking lru v0.12.3
[INFO] [stderr]     Checking dashmap v5.5.3
[INFO] [stderr]     Checking regex v1.10.4
[INFO] [stderr]     Checking env_logger v0.8.4
[INFO] [stderr]     Checking env_filter v0.1.3
[INFO] [stderr]     Checking quickcheck v1.0.3
[INFO] [stderr]     Checking env_logger v0.11.6
[INFO] [stderr]     Checking nomt-core v1.0.0-preview (/opt/rustwide/workdir/core)
[INFO] [stderr]    Migrating core/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking nomt v1.0.0-preview (/opt/rustwide/workdir/nomt)
[INFO] [stderr]    Compiling serde_derive v1.0.216
[INFO] [stderr]    Compiling zerocopy-derive v0.8.14
[INFO] [stderr]    Compiling derive_arbitrary v1.3.2
[INFO] [stderr]    Compiling enum-ordinalize-derive v4.3.1
[INFO] [stderr]    Compiling tokio-macros v2.4.0
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Migrating nomt/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]    Compiling clap_derive v4.5.18
[INFO] [stderr]    Compiling pin-project-internal v1.1.7
[INFO] [stderr]     Checking tokio v1.42.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.28
[INFO] [stderr]    Compiling enum-ordinalize v4.3.0
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]    Compiling educe v0.5.11
[INFO] [stderr]     Checking arbitrary v1.3.2
[INFO] [stderr]     Checking pin-project v1.1.7
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]     Checking tracing-subscriber v0.3.19
[INFO] [stderr]     Checking clap v4.5.23
[INFO] [stderr]     Checking serde v1.0.216
[INFO] [stderr]        Fixed nomt/src/page_diff.rs (1 fix)
[INFO] [stderr]        Fixed nomt/src/beatree/ops/update/branch_stage.rs (1 fix)
[INFO] [stderr]        Fixed nomt/src/beatree/ops/update/leaf_stage.rs (2 fixes)
[INFO] [stderr]        Fixed nomt/src/beatree/ops/update/branch_updater.rs (1 fix)
[INFO] [stderr]        Fixed nomt/src/beatree/mod.rs (2 fixes)
[INFO] [stderr]        Fixed nomt/src/io/page_pool.rs (1 fix)
[INFO] [stderr]        Fixed nomt/src/beatree/iterator.rs (1 fix)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> nomt/src/beatree/ops/update/branch_stage.rs:394:15
[INFO] [stdout]      |
[INFO] [stdout]  289 |     mut worker_params: WorkerParams<BranchNode>,
[INFO] [stdout]      |     -----------------
[INFO] [stdout]      |     |
[INFO] [stdout]      |     `worker_params` calls a custom destructor
[INFO] [stdout]      |     `worker_params` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  292 |     let mut pending_left_request = None;
[INFO] [stdout]      |         ------------------------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `pending_left_request` calls a custom destructor
[INFO] [stdout]      |         `pending_left_request` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  394 |         match worker_params.left_neighbor.as_ref().map(|l| l.rx.recv()) {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |               |
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  403 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/crossbeam-channel-0.5.13/src/channel.rs:655:1
[INFO] [stdout]      |
[INFO] [stdout]  655 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `pending_left_request` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/crossbeam-channel-0.5.13/src/channel.rs:655:1
[INFO] [stdout]      |
[INFO] [stdout]  655 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `worker_params` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/crossbeam-channel-0.5.13/src/channel.rs:1150:1
[INFO] [stdout]      |
[INFO] [stdout] 1150 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed nomt/src/merkle/cache_prepopulate.rs (1 fix)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> nomt/src/beatree/ops/update/branch_updater.rs:211:40
[INFO] [stdout]     |
[INFO] [stdout] 211 |           while let Some((ops, gauge)) = self
[INFO] [stdout]     |  _________________________---____________^
[INFO] [stdout]     | |                         |
[INFO] [stdout]     | |                         `ops` calls a custom destructor
[INFO] [stdout]     | |                         `ops` will be dropped later as of Edition 2024
[INFO] [stdout] 212 | |             .ops_tracker
[INFO] [stdout] 213 | |             .extract_ops_until(self.base.as_ref(), target)
[INFO] [stdout]     | |                                                          ^
[INFO] [stdout]     | |                                                          |
[INFO] [stdout]     | |__________________________________________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                            up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 218 |           }
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `ops` invokes this custom destructor
[INFO] [stdout]    --> nomt/src/beatree/ops/update/branch_ops.rs:393:1
[INFO] [stdout]     |
[INFO] [stdout] 393 | impl<'a> Drop for BranchOps<'a> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed nomt/src/beatree/allocator/free_list.rs (1 fix)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> nomt/src/beatree/ops/update/leaf_stage.rs:640:15
[INFO] [stdout]      |
[INFO] [stdout]  519 |     mut worker_params: WorkerParams<LeafNode>,
[INFO] [stdout]      |     -----------------
[INFO] [stdout]      |     |
[INFO] [stdout]      |     `worker_params` calls a custom destructor
[INFO] [stdout]      |     `worker_params` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  523 |     let mut pending_left_request = None;
[INFO] [stdout]      |         ------------------------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `pending_left_request` calls a custom destructor
[INFO] [stdout]      |         `pending_left_request` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  640 |         match worker_params.left_neighbor.as_ref().map(|l| l.rx.recv()) {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |               |
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  649 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/crossbeam-channel-0.5.13/src/channel.rs:655:1
[INFO] [stdout]      |
[INFO] [stdout]  655 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `pending_left_request` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/crossbeam-channel-0.5.13/src/channel.rs:655:1
[INFO] [stdout]      |
[INFO] [stdout]  655 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `worker_params` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/crossbeam-channel-0.5.13/src/channel.rs:1150:1
[INFO] [stdout]      |
[INFO] [stdout] 1150 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed nomt/src/rollback/reverse_delta_worker.rs (2 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> nomt/src/beatree/mod.rs:700:23
[INFO] [stdout]     |
[INFO] [stdout] 699 |                 let leaf = inner.finish_inner(page);
[INFO] [stdout]     |                     ----
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `leaf` calls a custom destructor
[INFO] [stdout]     |                     `leaf` will be dropped later as of Edition 2024
[INFO] [stdout] 700 |                 match ops::finish_lookup_async(self.key, &leaf, &inner.read_tx.leaf_store) {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 710 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> nomt/src/io/page_pool.rs:248:1
[INFO] [stdout]     |
[INFO] [stdout] 248 | impl Drop for Inner {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> nomt/src/io/page_pool.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl Drop for FatPage {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `leaf` invokes this custom destructor
[INFO] [stdout]    --> nomt/src/io/page_pool.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl Drop for FatPage {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> nomt/src/merkle/cache_prepopulate.rs:41:15
[INFO] [stdout]     |
[INFO] [stdout]  35 |         let complete_io = io_handle.recv().expect("I/O Pool Down");
[INFO] [stdout]     |             -----------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `complete_io` calls a custom destructor
[INFO] [stdout]     |             `complete_io` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  41 |         match load.try_complete(complete_io.command.kind.unwrap_buf()) { Some((page, bucket)) => {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  55 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `complete_io` invokes this custom destructor
[INFO] [stdout]    --> nomt/src/io/page_pool.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl Drop for FatPage {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> nomt/src/merkle/page_walker.rs:417:41
[INFO] [stdout]     |
[INFO] [stdout] 415 |                   let (page, page_origin) = if fresh {
[INFO] [stdout]     |  ___________________________________________-
[INFO] [stdout] 416 | |                     (
[INFO] [stdout] 417 | |                         page_set.fresh(&ROOT_PAGE_ID),
[INFO] [stdout]     | |                                         ^^^^^^^^^^^^
[INFO] [stdout]     | |                                         |
[INFO] [stdout]     | |                                         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |                                         up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 418 | |                         PageOrigin::Reconstructed(0, PageDiff::default()),
[INFO] [stdout] 419 | |                     )
[INFO] [stdout] 420 | |                 } else {
[INFO] [stdout]     | |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...   |
[INFO] [stdout] 425 | |                         .unwrap()
[INFO] [stdout] 426 | |                 };
[INFO] [stdout]     | |                 -
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |_________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 446 |                   let (page_id, page, diff, page_origin) = if fresh {
[INFO] [stdout]     |  __________________________________________________________-
[INFO] [stdout]     | |__________________________________________________________|
[INFO] [stdout] 447 | |                     let page = page_set.fresh(&child_page_id);
[INFO] [stdout] 448 | |                     (
[INFO] [stdout] 449 | |                         child_page_id,
[INFO] [stdout] ...   |
[INFO] [stdout] 456 | |                     let (page, page_origin) = page_set.get(&child_page_id).unwrap();
[INFO] [stdout]     | |                          ----                 -------------------------------------
[INFO] [stdout]     | |                          |                    |
[INFO] [stdout]     | |                          |                    this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |                          |                    `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                          `page` calls a custom destructor
[INFO] [stdout]     | |                          `page` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 463 | |                 };
[INFO] [stdout]     | |                 -
[INFO] [stdout]     | |_________________|
[INFO] [stdout]     | |_________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                   `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arrayvec-0.7.4/src/arrayvec.rs:48:1
[INFO] [stdout]     |
[INFO] [stdout]  48 | impl<T, const CAP: usize> Drop for ArrayVec<T, CAP> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> nomt/src/io/page_pool.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl Drop for FatPage {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> nomt/src/io/page_pool.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl Drop for FatPage {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arrayvec-0.7.4/src/arrayvec.rs:48:1
[INFO] [stdout]     |
[INFO] [stdout]  48 | impl<T, const CAP: usize> Drop for ArrayVec<T, CAP> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `page` invokes this custom destructor
[INFO] [stdout]    --> nomt/src/io/page_pool.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl Drop for FatPage {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> nomt/src/io/page_pool.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl Drop for FatPage {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> nomt/src/merkle/page_walker.rs:423:31
[INFO] [stdout]     |
[INFO] [stdout] 415 |                   let (page, page_origin) = if fresh {
[INFO] [stdout]     |  ___________________________________________-
[INFO] [stdout] 416 | |                     (
[INFO] [stdout] 417 | |                         page_set.fresh(&ROOT_PAGE_ID),
[INFO] [stdout] 418 | |                         PageOrigin::Reconstructed(0, PageDiff::default()),
[INFO] [stdout] ...   |
[INFO] [stdout] 423 | |                         .get(&ROOT_PAGE_ID)
[INFO] [stdout]     | |                               ^^^^^^^^^^^^
[INFO] [stdout]     | |                               |
[INFO] [stdout]     | |                               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |                               up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 424 | |                         .map(|(p, b)| (p.deep_copy(), b))
[INFO] [stdout] 425 | |                         .unwrap()
[INFO] [stdout] 426 | |                 };
[INFO] [stdout]     | |                 -
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | |_________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 446 |                   let (page_id, page, diff, page_origin) = if fresh {
[INFO] [stdout]     |  __________________________________________________________-
[INFO] [stdout]     | |__________________________________________________________|
[INFO] [stdout] 447 | |                     let page = page_set.fresh(&child_page_id);
[INFO] [stdout] 448 | |                     (
[INFO] [stdout] 449 | |                         child_page_id,
[INFO] [stdout] ...   |
[INFO] [stdout] 456 | |                     let (page, page_origin) = page_set.get(&child_page_id).unwrap();
[INFO] [stdout]     | |                          ----                 -------------------------------------
[INFO] [stdout]     | |                          |                    |
[INFO] [stdout]     | |                          |                    this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |                          |                    `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                          `page` calls a custom destructor
[INFO] [stdout]     | |                          `page` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 463 | |                 };
[INFO] [stdout]     | |                 -
[INFO] [stdout]     | |_________________|
[INFO] [stdout]     | |_________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                   `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arrayvec-0.7.4/src/arrayvec.rs:48:1
[INFO] [stdout]     |
[INFO] [stdout]  48 | impl<T, const CAP: usize> Drop for ArrayVec<T, CAP> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> nomt/src/io/page_pool.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl Drop for FatPage {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> nomt/src/io/page_pool.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl Drop for FatPage {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arrayvec-0.7.4/src/arrayvec.rs:48:1
[INFO] [stdout]     |
[INFO] [stdout]  48 | impl<T, const CAP: usize> Drop for ArrayVec<T, CAP> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `page` invokes this custom destructor
[INFO] [stdout]    --> nomt/src/io/page_pool.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl Drop for FatPage {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> nomt/src/io/page_pool.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl Drop for FatPage {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> nomt/src/merkle/seek.rs:716:27
[INFO] [stdout]     |
[INFO] [stdout] 706 |                       let vacant_entry = match self.io_waiters.entry(IoQuery::LeafPage(page_number)) {
[INFO] [stdout]     |                           ------------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           `vacant_entry` calls a custom destructor
[INFO] [stdout]     |                           `vacant_entry` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 716 |                       match self.beatree_read_transaction.load_leaf_async(
[INFO] [stdout]     |  ___________________________^
[INFO] [stdout] 717 | |                         page_number,
[INFO] [stdout] 718 | |                         &self.io_handle,
[INFO] [stdout] 719 | |                         slab_index as u64,
[INFO] [stdout] 720 | |                     ) {
[INFO] [stdout]     | |                     ^
[INFO] [stdout]     | |                     |
[INFO] [stdout]     | |_____________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 746 |                   }
[INFO] [stdout]     |                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> nomt/src/beatree/mod.rs:615:1
[INFO] [stdout]     |
[INFO] [stdout] 615 | impl Drop for ReadTransactionInner {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> nomt/src/io/page_pool.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl Drop for FatPage {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `vacant_entry` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arrayvec-0.7.4/src/arrayvec.rs:48:1
[INFO] [stdout]     |
[INFO] [stdout]  48 | impl<T, const CAP: usize> Drop for ArrayVec<T, CAP> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> nomt/src/merkle/seek.rs:657:33
[INFO] [stdout]     |
[INFO] [stdout] 657 |         while let Some(query) = request.next_query() {
[INFO] [stdout]     |                        -----    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                        |        |
[INFO] [stdout]     |                        |        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                        |        up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        `query` calls a custom destructor
[INFO] [stdout]     |                        `query` will be dropped later as of Edition 2024
[INFO] [stdout] 658 |             match query {
[INFO] [stdout] 659 |                 IoQuery::MerklePage(page_id) => {
[INFO] [stdout]     |                                     -------
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     `page_id` calls a custom destructor
[INFO] [stdout]     |                                     `page_id` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 662 |                     let maybe_page = page_set.get(&page_id).map(|(page, _origin)| page).or(
[INFO] [stdout]     |                         ----------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `maybe_page` calls a custom destructor
[INFO] [stdout]     |                         `maybe_page` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 675 |                     if let Some(page) = maybe_page {
[INFO] [stdout]     |                                 ----
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 `page` calls a custom destructor
[INFO] [stdout]     |                                 `page` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 688 |                         match self.io_waiters.entry(IoQuery::MerklePage(page_id.clone())) {
[INFO] [stdout]     |                               -----------------------------------------------------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                               `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 706 |                     let vacant_entry = match self.io_waiters.entry(IoQuery::LeafPage(page_number)) {
[INFO] [stdout]     |                         ------------         -----------------------------------------------------
[INFO] [stdout]     |                         |                    |
[INFO] [stdout]     |                         |                    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                         |                    `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                         `vacant_entry` calls a custom destructor
[INFO] [stdout]     |                         `vacant_entry` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 748 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arrayvec-0.7.4/src/arrayvec.rs:48:1
[INFO] [stdout]     |
[INFO] [stdout]  48 | impl<T, const CAP: usize> Drop for ArrayVec<T, CAP> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `query` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arrayvec-0.7.4/src/arrayvec.rs:48:1
[INFO] [stdout]     |
[INFO] [stdout]  48 | impl<T, const CAP: usize> Drop for ArrayVec<T, CAP> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `page_id` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arrayvec-0.7.4/src/arrayvec.rs:48:1
[INFO] [stdout]     |
[INFO] [stdout]  48 | impl<T, const CAP: usize> Drop for ArrayVec<T, CAP> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `maybe_page` invokes this custom destructor
[INFO] [stdout]    --> nomt/src/io/page_pool.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl Drop for FatPage {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `page` invokes this custom destructor
[INFO] [stdout]    --> nomt/src/io/page_pool.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl Drop for FatPage {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arrayvec-0.7.4/src/arrayvec.rs:48:1
[INFO] [stdout]     |
[INFO] [stdout]  48 | impl<T, const CAP: usize> Drop for ArrayVec<T, CAP> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `vacant_entry` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arrayvec-0.7.4/src/arrayvec.rs:48:1
[INFO] [stdout]     |
[INFO] [stdout]  48 | impl<T, const CAP: usize> Drop for ArrayVec<T, CAP> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arrayvec-0.7.4/src/arrayvec.rs:48:1
[INFO] [stdout]     |
[INFO] [stdout]  48 | impl<T, const CAP: usize> Drop for ArrayVec<T, CAP> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> nomt/src/overlay.rs:151:19
[INFO] [stdout]     |
[INFO] [stdout] 151 |             match self.pages_by_seqn.pop_front() {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 157 |                 Some((seqn, page_id)) => {
[INFO] [stdout]     |                             -------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `page_id` calls a custom destructor
[INFO] [stdout]     |                             `page_id` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 168 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arrayvec-0.7.4/src/arrayvec.rs:48:1
[INFO] [stdout]     |
[INFO] [stdout]  48 | impl<T, const CAP: usize> Drop for ArrayVec<T, CAP> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `page_id` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arrayvec-0.7.4/src/arrayvec.rs:48:1
[INFO] [stdout]     |
[INFO] [stdout]  48 | impl<T, const CAP: usize> Drop for ArrayVec<T, CAP> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking commit-batch v0.1.0 (/opt/rustwide/workdir/examples/commit_batch)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> nomt/src/store/mod.rs:239:32
[INFO] [stdout]     |
[INFO] [stdout] 232 |             let completion = io_handle.recv()?;
[INFO] [stdout]     |                 ----------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `completion` calls a custom destructor
[INFO] [stdout]     |                 `completion` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 239 |             if let Some(res) = page_load.try_complete(page) {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 242 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `completion` invokes this custom destructor
[INFO] [stdout]    --> nomt/src/io/page_pool.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl Drop for FatPage {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking nomt-fuzz v0.0.0 (/opt/rustwide/workdir/fuzz)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> nomt/src/store/mod.rs:413:8
[INFO] [stdout]     |
[INFO] [stdout] 412 |     let mut entries = std::fs::read_dir(path)?;
[INFO] [stdout]     |         -----------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `entries` calls a custom destructor
[INFO] [stdout]     |         `entries` will be dropped later as of Edition 2024
[INFO] [stdout] 413 |     Ok(entries.next().is_none())
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout]     |        |
[INFO] [stdout]     |        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 414 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `entries` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking read_value v0.1.0 (/opt/rustwide/workdir/examples/read_value)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> nomt/src/io/linux.rs:134:23
[INFO] [stdout]     |
[INFO] [stdout]  85 |                     completion_sender,
[INFO] [stdout]     |                     -----------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `completion_sender` calls a custom destructor
[INFO] [stdout]     |                     `completion_sender` will be dropped later as of Edition 2024
[INFO] [stdout]  86 |                 } = pending.remove(completion_event.user_data() as usize);
[INFO] [stdout]     |                     -----------------------------------------------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                     `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 108 |                 let _ = completion_sender.send(complete);
[INFO] [stdout]     |                         --------------------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 128 |             let next_io = if !retries.is_empty() {
[INFO] [stdout]     |                 -------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `next_io` calls a custom destructor
[INFO] [stdout]     |                 `next_io` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 134 |                 match command_rx.recv() {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                       up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 141 |             } else {
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/crossbeam-channel-0.5.13/src/channel.rs:655:1
[INFO] [stdout]     |
[INFO] [stdout] 655 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> nomt/src/io/page_pool.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl Drop for FatPage {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `completion_sender` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/crossbeam-channel-0.5.13/src/channel.rs:655:1
[INFO] [stdout]     |
[INFO] [stdout] 655 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/crossbeam-channel-0.5.13/src/channel.rs:655:1
[INFO] [stdout]     |
[INFO] [stdout] 655 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> nomt/src/io/page_pool.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl Drop for FatPage {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> nomt/src/io/page_pool.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl Drop for FatPage {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `next_io` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/crossbeam-channel-0.5.13/src/channel.rs:655:1
[INFO] [stdout]     |
[INFO] [stdout] 655 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `next_io` invokes this custom destructor
[INFO] [stdout]    --> nomt/src/io/page_pool.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl Drop for FatPage {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> nomt/src/io/linux.rs:142:23
[INFO] [stdout]     |
[INFO] [stdout]  85 |                     completion_sender,
[INFO] [stdout]     |                     -----------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `completion_sender` calls a custom destructor
[INFO] [stdout]     |                     `completion_sender` will be dropped later as of Edition 2024
[INFO] [stdout]  86 |                 } = pending.remove(completion_event.user_data() as usize);
[INFO] [stdout]     |                     -----------------------------------------------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                     `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 108 |                 let _ = completion_sender.send(complete);
[INFO] [stdout]     |                         --------------------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 128 |             let next_io = if !retries.is_empty() {
[INFO] [stdout]     |                 -------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `next_io` calls a custom destructor
[INFO] [stdout]     |                 `next_io` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 142 |                 match command_rx.try_recv() {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                       up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 150 |             };
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/crossbeam-channel-0.5.13/src/channel.rs:655:1
[INFO] [stdout]     |
[INFO] [stdout] 655 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> nomt/src/io/page_pool.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl Drop for FatPage {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `completion_sender` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/crossbeam-channel-0.5.13/src/channel.rs:655:1
[INFO] [stdout]     |
[INFO] [stdout] 655 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/crossbeam-channel-0.5.13/src/channel.rs:655:1
[INFO] [stdout]     |
[INFO] [stdout] 655 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> nomt/src/io/page_pool.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl Drop for FatPage {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> nomt/src/io/page_pool.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl Drop for FatPage {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `next_io` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/crossbeam-channel-0.5.13/src/channel.rs:655:1
[INFO] [stdout]     |
[INFO] [stdout] 655 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `next_io` invokes this custom destructor
[INFO] [stdout]    --> nomt/src/io/page_pool.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl Drop for FatPage {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl Iterator<Item = (PageId, page_cache::Page, PageDiff, u64)>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> nomt/src/merkle/page_walker.rs:955:13
[INFO] [stdout]     |
[INFO] [stdout] 955 | ) -> Option<impl Iterator<Item = (PageId, Page, PageDiff, u64)>> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, these lifetimes are in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> nomt/src/merkle/page_walker.rs:950:11
[INFO] [stdout]     |
[INFO] [stdout] 950 |     page: &Page,
[INFO] [stdout]     |           ^
[INFO] [stdout] ...
[INFO] [stdout] 953 |     page_set: &mut impl PageSet,
[INFO] [stdout]     |               ^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]    --> nomt/src/merkle/page_walker.rs:953:20
[INFO] [stdout]     |
[INFO] [stdout] 953 |     page_set: &mut impl PageSet,
[INFO] [stdout]     |                    ^^^^^^^^^^^^
[INFO] [stdout] 954 |     ops: impl IntoIterator<Item = (KeyPath, ValueHash)>,
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]     = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 949 ~ pub fn reconstruct_pages<H: nomt_core::hasher::NodeHasher, T: PageSet, U: IntoIterator<Item = (KeyPath, ValueHash)>>(
[INFO] [stdout] 950 |     page: &Page,
[INFO] [stdout] 951 |     page_id: PageId,
[INFO] [stdout] 952 |     position: TriePosition,
[INFO] [stdout] 953 ~     page_set: &mut T,
[INFO] [stdout] 954 ~     ops: U,
[INFO] [stdout] 955 ~ ) -> Option<impl Iterator<Item = (PageId, Page, PageDiff, u64)> + use<H, T, U>> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating examples/commit_batch/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating fuzz/fuzz_targets/separator_len.rs from 2021 edition to 2024
[INFO] [stderr]     Checking witness_verification v0.1.0 (/opt/rustwide/workdir/examples/witness_verification)
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]    Migrating fuzz/fuzz_targets/separate.rs from 2021 edition to 2024
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]    Migrating examples/read_value/src/main.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating fuzz/fuzz_targets/reconstruct_key.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating fuzz/fuzz_targets/bitwise_memcpy.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating fuzz/fuzz_targets/api_surface.rs from 2021 edition to 2024
[INFO] [stderr]     Checking trickfs v0.1.0 (/opt/rustwide/workdir/trickfs)
[INFO] [stderr]    Migrating fuzz/fuzz_targets/prefix_len.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/commit_batch/src/main.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/witness_verification/src/main.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating trickfs/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking tokio-util v0.7.13
[INFO] [stderr]     Checking tokio-stream v0.1.17
[INFO] [stderr]     Checking trickmnt v0.1.0 (/opt/rustwide/workdir/trickfs/trickmnt)
[INFO] [stderr]    Migrating trickfs/trickmnt/src/main.rs from 2021 edition to 2024
[INFO] [stderr]     Checking serde_json v1.0.117
[INFO] [stderr]     Checking csv v1.3.0
[INFO] [stderr]     Checking serde_cbor v0.11.2
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking tokio-serde v0.9.0
[INFO] [stderr]     Checking torture v0.1.0 (/opt/rustwide/workdir/torture)
[INFO] [stderr]    Migrating torture/src/main.rs from 2021 edition to 2024
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking criterion v0.3.6
[INFO] [stderr]        Fixed torture/src/main.rs (1 fix)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> torture/src/supervisor/comms.rs:126:15
[INFO] [stdout]     |
[INFO] [stdout] 125 |         let mut pending = shared.pending.lock().await;
[INFO] [stdout]     |             -----------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `pending` calls a custom destructor
[INFO] [stdout]     |             `pending` will be dropped later as of Edition 2024
[INFO] [stdout] 126 |         match pending.remove(&reqno) { Some(tx) => {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 132 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.42.0/src/sync/oneshot.rs:844:1
[INFO] [stdout]     |
[INFO] [stdout] 844 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `pending` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.42.0/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed torture/src/supervisor/comms.rs (1 fix)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> torture/src/supervisor/mod.rs:265:33
[INFO] [stdout]      |
[INFO] [stdout]  265 |               if let Some(flag) = maybe_flag?? {
[INFO] [stdout]      |                                   -----------^
[INFO] [stdout]      |                                   |
[INFO] [stdout]      |                                   this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                                   up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                                   this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                                   up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                                   this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      |                                   up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  269 |           }
[INFO] [stdout]      |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout]  276 |               let Ok(workload) = Workload::new(
[INFO] [stdout]      |  ________________________________-
[INFO] [stdout]  277 | |                 workload_seed,
[INFO] [stdout]  278 | |                 workload_dir,
[INFO] [stdout]  279 | |                 workload_id,
[INFO] [stdout]  280 | |                 resource_alloc.clone(),
[INFO] [stdout]  281 | |             ) else {
[INFO] [stdout]      | |             -
[INFO] [stdout]      | |             |
[INFO] [stdout]      | |_____________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  287 |               let _ = running_workloads.spawn(run_workload(
[INFO] [stdout]      |  _____________________-
[INFO] [stdout]      | |_____________________|
[INFO] [stdout]  288 | |                 cancel_token.clone(),
[INFO] [stdout]  289 | |                 workload_seed,
[INFO] [stdout]  290 | |                 workload_id,
[INFO] [stdout]  291 | |                 workload,
[INFO] [stdout]  292 | |             ));
[INFO] [stdout]      | |              -
[INFO] [stdout]      | |______________|
[INFO] [stdout]      | |______________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  303 | |         let workload_result = running_workloads.join_next().await.unwrap()?;
[INFO] [stdout]      | |                               ---------------------------------------------
[INFO] [stdout]      | |                               |                             |
[INFO] [stdout]      | |                               |                             this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      | |                               |                             `#4` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      | |                               `#3` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                               `__awaitee` calls a custom destructor
[INFO] [stdout]      | |                               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]  304 | |         // The execution could have returned an error or an optional flag.
[INFO] [stdout]  305 | |         let maybe_flag = workload_result?;
[INFO] [stdout]      | |             ----------   ----------------
[INFO] [stdout]      | |             |            |
[INFO] [stdout]      | |             |            this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      | |             |            `#5` will be dropped later as of Edition 2024
[INFO] [stdout]      | |             `maybe_flag` calls a custom destructor
[INFO] [stdout]      | |             `maybe_flag` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.95/src/error.rs:662:1
[INFO] [stdout]      |
[INFO] [stdout]  662 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.95/src/error.rs:662:1
[INFO] [stdout]      |
[INFO] [stdout]  662 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.95/src/error.rs:662:1
[INFO] [stdout]      |
[INFO] [stdout]  662 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/imbl-sized-chunks-0.1.2/src/sized_chunk/mod.rs:99:1
[INFO] [stdout]      |
[INFO] [stdout]   99 | impl<A, const N: usize> Drop for Chunk<A, N> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/imbl-sized-chunks-0.1.2/src/sized_chunk/mod.rs:99:1
[INFO] [stdout]      |
[INFO] [stdout]   99 | impl<A, const N: usize> Drop for Chunk<A, N> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.42.0/src/sync/oneshot.rs:844:1
[INFO] [stdout]      |
[INFO] [stdout]  844 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes_mut.rs:1123:1
[INFO] [stdout]      |
[INFO] [stdout] 1123 | impl Drop for BytesMut {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.42.0/src/net/unix/split_owned.rs:364:1
[INFO] [stdout]      |
[INFO] [stdout]  364 | impl Drop for OwnedWriteHalf {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> torture/src/supervisor/controller.rs:21:1
[INFO] [stdout]      |
[INFO] [stdout]   21 | impl Drop for SpawnedAgentController {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/fuser-0.15.1/src/mnt/fuse2.rs:39:1
[INFO] [stdout]      |
[INFO] [stdout]   39 | impl Drop for Mount {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tempfile-3.15.0/src/dir/mod.rs:479:1
[INFO] [stdout]      |
[INFO] [stdout]  479 | impl Drop for TempDir {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.42.0/src/runtime/task/abort.rs:93:1
[INFO] [stdout]      |
[INFO] [stdout]   93 | impl Drop for AbortHandle {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.95/src/error.rs:662:1
[INFO] [stdout]      |
[INFO] [stdout]  662 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.95/src/error.rs:662:1
[INFO] [stdout]      |
[INFO] [stdout]  662 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `maybe_flag` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.95/src/error.rs:662:1
[INFO] [stdout]      |
[INFO] [stdout]  662 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.95/src/error.rs:662:1
[INFO] [stdout]      |
[INFO] [stdout]  662 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> torture/src/supervisor/mod.rs:264:38
[INFO] [stdout]      |
[INFO] [stdout]  264 |           while let Some(maybe_flag) = running_workloads.try_join_next() {
[INFO] [stdout]      |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                        |
[INFO] [stdout]      |                                        this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                                        up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  269 |           }
[INFO] [stdout]      |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout]  276 |               let Ok(workload) = Workload::new(
[INFO] [stdout]      |  ________________________________-
[INFO] [stdout]  277 | |                 workload_seed,
[INFO] [stdout]  278 | |                 workload_dir,
[INFO] [stdout]  279 | |                 workload_id,
[INFO] [stdout]  280 | |                 resource_alloc.clone(),
[INFO] [stdout]  281 | |             ) else {
[INFO] [stdout]      | |             -
[INFO] [stdout]      | |             |
[INFO] [stdout]      | |_____________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  287 |               let _ = running_workloads.spawn(run_workload(
[INFO] [stdout]      |  _____________________-
[INFO] [stdout]      | |_____________________|
[INFO] [stdout]  288 | |                 cancel_token.clone(),
[INFO] [stdout]  289 | |                 workload_seed,
[INFO] [stdout]  290 | |                 workload_id,
[INFO] [stdout]  291 | |                 workload,
[INFO] [stdout]  292 | |             ));
[INFO] [stdout]      | |              -
[INFO] [stdout]      | |______________|
[INFO] [stdout]      | |______________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  303 | |         let workload_result = running_workloads.join_next().await.unwrap()?;
[INFO] [stdout]      | |                               ---------------------------------------------
[INFO] [stdout]      | |                               |                             |
[INFO] [stdout]      | |                               |                             this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      | |                               |                             `#4` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      | |                               `#3` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                               `__awaitee` calls a custom destructor
[INFO] [stdout]      | |                               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]  304 | |         // The execution could have returned an error or an optional flag.
[INFO] [stdout]  305 | |         let maybe_flag = workload_result?;
[INFO] [stdout]      | |             ----------   ----------------
[INFO] [stdout]      | |             |            |
[INFO] [stdout]      | |             |            this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      | |             |            `#5` will be dropped later as of Edition 2024
[INFO] [stdout]      | |             `maybe_flag` calls a custom destructor
[INFO] [stdout]      | |             `maybe_flag` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.95/src/error.rs:662:1
[INFO] [stdout]      |
[INFO] [stdout]  662 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/imbl-sized-chunks-0.1.2/src/sized_chunk/mod.rs:99:1
[INFO] [stdout]      |
[INFO] [stdout]   99 | impl<A, const N: usize> Drop for Chunk<A, N> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/imbl-sized-chunks-0.1.2/src/sized_chunk/mod.rs:99:1
[INFO] [stdout]      |
[INFO] [stdout]   99 | impl<A, const N: usize> Drop for Chunk<A, N> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.42.0/src/sync/oneshot.rs:844:1
[INFO] [stdout]      |
[INFO] [stdout]  844 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes_mut.rs:1123:1
[INFO] [stdout]      |
[INFO] [stdout] 1123 | impl Drop for BytesMut {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.42.0/src/net/unix/split_owned.rs:364:1
[INFO] [stdout]      |
[INFO] [stdout]  364 | impl Drop for OwnedWriteHalf {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> torture/src/supervisor/controller.rs:21:1
[INFO] [stdout]      |
[INFO] [stdout]   21 | impl Drop for SpawnedAgentController {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/fuser-0.15.1/src/mnt/fuse2.rs:39:1
[INFO] [stdout]      |
[INFO] [stdout]   39 | impl Drop for Mount {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tempfile-3.15.0/src/dir/mod.rs:479:1
[INFO] [stdout]      |
[INFO] [stdout]  479 | impl Drop for TempDir {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.42.0/src/runtime/task/abort.rs:93:1
[INFO] [stdout]      |
[INFO] [stdout]   93 | impl Drop for AbortHandle {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.95/src/error.rs:662:1
[INFO] [stdout]      |
[INFO] [stdout]  662 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.95/src/error.rs:662:1
[INFO] [stdout]      |
[INFO] [stdout]  662 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `maybe_flag` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.95/src/error.rs:662:1
[INFO] [stdout]      |
[INFO] [stdout]  662 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.95/src/error.rs:662:1
[INFO] [stdout]      |
[INFO] [stdout]  662 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> torture/src/supervisor/mod.rs:322:29
[INFO] [stdout]     |
[INFO] [stdout] 321 |     for workload_result in running_workloads.join_all().await {
[INFO] [stdout]     |                            ----------------------------------
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                            `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 322 |         if let Some(flag) = workload_result? {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                             up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                             up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 325 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.95/src/error.rs:662:1
[INFO] [stdout]     |
[INFO] [stdout] 662 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.95/src/error.rs:662:1
[INFO] [stdout]     |
[INFO] [stdout] 662 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.95/src/error.rs:662:1
[INFO] [stdout]     |
[INFO] [stdout] 662 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl tracing::Subscriber` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> torture/src/logging.rs:86:64
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub fn workload_subscriber(workload_dir: &impl AsRef<Path>) -> impl tracing::Subscriber {
[INFO] [stdout]    |                                                                ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> torture/src/logging.rs:86:42
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub fn workload_subscriber(workload_dir: &impl AsRef<Path>) -> impl tracing::Subscriber {
[INFO] [stdout]    |                                          ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]   --> torture/src/logging.rs:86:43
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub fn workload_subscriber(workload_dir: &impl AsRef<Path>) -> impl tracing::Subscriber {
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]    = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 86 - pub fn workload_subscriber(workload_dir: &impl AsRef<Path>) -> impl tracing::Subscriber {
[INFO] [stdout] 86 + pub fn workload_subscriber<T: AsRef<Path>>(workload_dir: &T) -> impl tracing::Subscriber + use<T> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating nomt/tests/fill_and_empty.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> torture/src/supervisor/comms.rs:126:15
[INFO] [stdout]     |
[INFO] [stdout] 125 |         let mut pending = shared.pending.lock().await;
[INFO] [stdout]     |             -----------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `pending` calls a custom destructor
[INFO] [stdout]     |             `pending` will be dropped later as of Edition 2024
[INFO] [stdout] 126 |         match pending.remove(&reqno) { Some(tx) => {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 132 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.42.0/src/sync/oneshot.rs:844:1
[INFO] [stdout]     |
[INFO] [stdout] 844 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `pending` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.42.0/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> torture/src/supervisor/mod.rs:265:33
[INFO] [stdout]      |
[INFO] [stdout]  265 |               if let Some(flag) = maybe_flag?? {
[INFO] [stdout]      |                                   -----------^
[INFO] [stdout]      |                                   |
[INFO] [stdout]      |                                   this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                                   up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                                   this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                                   up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                                   this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      |                                   up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  269 |           }
[INFO] [stdout]      |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout]  276 |               let Ok(workload) = Workload::new(
[INFO] [stdout]      |  ________________________________-
[INFO] [stdout]  277 | |                 workload_seed,
[INFO] [stdout]  278 | |                 workload_dir,
[INFO] [stdout]  279 | |                 workload_id,
[INFO] [stdout]  280 | |                 resource_alloc.clone(),
[INFO] [stdout]  281 | |             ) else {
[INFO] [stdout]      | |             -
[INFO] [stdout]      | |             |
[INFO] [stdout]      | |_____________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  287 |               let _ = running_workloads.spawn(run_workload(
[INFO] [stdout]      |  _____________________-
[INFO] [stdout]      | |_____________________|
[INFO] [stdout]  288 | |                 cancel_token.clone(),
[INFO] [stdout]  289 | |                 workload_seed,
[INFO] [stdout]  290 | |                 workload_id,
[INFO] [stdout]  291 | |                 workload,
[INFO] [stdout]  292 | |             ));
[INFO] [stdout]      | |              -
[INFO] [stdout]      | |______________|
[INFO] [stdout]      | |______________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  303 | |         let workload_result = running_workloads.join_next().await.unwrap()?;
[INFO] [stdout]      | |                               ---------------------------------------------
[INFO] [stdout]      | |                               |                             |
[INFO] [stdout]      | |                               |                             this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      | |                               |                             `#4` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      | |                               `#3` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                               `__awaitee` calls a custom destructor
[INFO] [stdout]      | |                               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]  304 | |         // The execution could have returned an error or an optional flag.
[INFO] [stdout]  305 | |         let maybe_flag = workload_result?;
[INFO] [stdout]      | |             ----------   ----------------
[INFO] [stdout]      | |             |            |
[INFO] [stdout]      | |             |            this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      | |             |            `#5` will be dropped later as of Edition 2024
[INFO] [stdout]      | |             `maybe_flag` calls a custom destructor
[INFO] [stdout]      | |             `maybe_flag` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.95/src/error.rs:662:1
[INFO] [stdout]      |
[INFO] [stdout]  662 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.95/src/error.rs:662:1
[INFO] [stdout]      |
[INFO] [stdout]  662 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.95/src/error.rs:662:1
[INFO] [stdout]      |
[INFO] [stdout]  662 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/imbl-sized-chunks-0.1.2/src/sized_chunk/mod.rs:99:1
[INFO] [stdout]      |
[INFO] [stdout]   99 | impl<A, const N: usize> Drop for Chunk<A, N> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/imbl-sized-chunks-0.1.2/src/sized_chunk/mod.rs:99:1
[INFO] [stdout]      |
[INFO] [stdout]   99 | impl<A, const N: usize> Drop for Chunk<A, N> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.42.0/src/sync/oneshot.rs:844:1
[INFO] [stdout]      |
[INFO] [stdout]  844 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes_mut.rs:1123:1
[INFO] [stdout]      |
[INFO] [stdout] 1123 | impl Drop for BytesMut {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.42.0/src/net/unix/split_owned.rs:364:1
[INFO] [stdout]      |
[INFO] [stdout]  364 | impl Drop for OwnedWriteHalf {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> torture/src/supervisor/controller.rs:21:1
[INFO] [stdout]      |
[INFO] [stdout]   21 | impl Drop for SpawnedAgentController {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/fuser-0.15.1/src/mnt/fuse2.rs:39:1
[INFO] [stdout]      |
[INFO] [stdout]   39 | impl Drop for Mount {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tempfile-3.15.0/src/dir/mod.rs:479:1
[INFO] [stdout]      |
[INFO] [stdout]  479 | impl Drop for TempDir {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.42.0/src/runtime/task/abort.rs:93:1
[INFO] [stdout]      |
[INFO] [stdout]   93 | impl Drop for AbortHandle {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.95/src/error.rs:662:1
[INFO] [stdout]      |
[INFO] [stdout]  662 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.95/src/error.rs:662:1
[INFO] [stdout]      |
[INFO] [stdout]  662 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `maybe_flag` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.95/src/error.rs:662:1
[INFO] [stdout]      |
[INFO] [stdout]  662 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.95/src/error.rs:662:1
[INFO] [stdout]      |
[INFO] [stdout]  662 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> torture/src/supervisor/mod.rs:264:38
[INFO] [stdout]      |
[INFO] [stdout]  264 |           while let Some(maybe_flag) = running_workloads.try_join_next() {
[INFO] [stdout]      |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                        |
[INFO] [stdout]      |                                        this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                                        up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  269 |           }
[INFO] [stdout]      |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout]  276 |               let Ok(workload) = Workload::new(
[INFO] [stdout]      |  ________________________________-
[INFO] [stdout]  277 | |                 workload_seed,
[INFO] [stdout]  278 | |                 workload_dir,
[INFO] [stdout]  279 | |                 workload_id,
[INFO] [stdout]  280 | |                 resource_alloc.clone(),
[INFO] [stdout]  281 | |             ) else {
[INFO] [stdout]      | |             -
[INFO] [stdout]      | |             |
[INFO] [stdout]      | |_____________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  287 |               let _ = running_workloads.spawn(run_workload(
[INFO] [stdout]      |  _____________________-
[INFO] [stdout]      | |_____________________|
[INFO] [stdout]  288 | |                 cancel_token.clone(),
[INFO] [stdout]  289 | |                 workload_seed,
[INFO] [stdout]  290 | |                 workload_id,
[INFO] [stdout]  291 | |                 workload,
[INFO] [stdout]  292 | |             ));
[INFO] [stdout]      | |              -
[INFO] [stdout]      | |______________|
[INFO] [stdout]      | |______________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  303 | |         let workload_result = running_workloads.join_next().await.unwrap()?;
[INFO] [stdout]      | |                               ---------------------------------------------
[INFO] [stdout]      | |                               |                             |
[INFO] [stdout]      | |                               |                             this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      | |                               |                             `#4` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      | |                               `#3` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                               `__awaitee` calls a custom destructor
[INFO] [stdout]      | |                               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]  304 | |         // The execution could have returned an error or an optional flag.
[INFO] [stdout]  305 | |         let maybe_flag = workload_result?;
[INFO] [stdout]      | |             ----------   ----------------
[INFO] [stdout]      | |             |            |
[INFO] [stdout]      | |             |            this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      | |             |            `#5` will be dropped later as of Edition 2024
[INFO] [stdout]      | |             `maybe_flag` calls a custom destructor
[INFO] [stdout]      | |             `maybe_flag` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.95/src/error.rs:662:1
[INFO] [stdout]      |
[INFO] [stdout]  662 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/imbl-sized-chunks-0.1.2/src/sized_chunk/mod.rs:99:1
[INFO] [stdout]      |
[INFO] [stdout]   99 | impl<A, const N: usize> Drop for Chunk<A, N> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/imbl-sized-chunks-0.1.2/src/sized_chunk/mod.rs:99:1
[INFO] [stdout]      |
[INFO] [stdout]   99 | impl<A, const N: usize> Drop for Chunk<A, N> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.42.0/src/sync/oneshot.rs:844:1
[INFO] [stdout]      |
[INFO] [stdout]  844 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.9.0/src/bytes_mut.rs:1123:1
[INFO] [stdout]      |
[INFO] [stdout] 1123 | impl Drop for BytesMut {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.42.0/src/net/unix/split_owned.rs:364:1
[INFO] [stdout]      |
[INFO] [stdout]  364 | impl Drop for OwnedWriteHalf {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> torture/src/supervisor/controller.rs:21:1
[INFO] [stdout]      |
[INFO] [stdout]   21 | impl Drop for SpawnedAgentController {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/fuser-0.15.1/src/mnt/fuse2.rs:39:1
[INFO] [stdout]      |
[INFO] [stdout]   39 | impl Drop for Mount {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tempfile-3.15.0/src/dir/mod.rs:479:1
[INFO] [stdout]      |
[INFO] [stdout]  479 | impl Drop for TempDir {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.42.0/src/runtime/task/abort.rs:93:1
[INFO] [stdout]      |
[INFO] [stdout]   93 | impl Drop for AbortHandle {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.95/src/error.rs:662:1
[INFO] [stdout]      |
[INFO] [stdout]  662 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.95/src/error.rs:662:1
[INFO] [stdout]      |
[INFO] [stdout]  662 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `maybe_flag` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.95/src/error.rs:662:1
[INFO] [stdout]      |
[INFO] [stdout]  662 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.95/src/error.rs:662:1
[INFO] [stdout]      |
[INFO] [stdout]  662 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> torture/src/supervisor/mod.rs:322:29
[INFO] [stdout]     |
[INFO] [stdout] 321 |     for workload_result in running_workloads.join_all().await {
[INFO] [stdout]     |                            ----------------------------------
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                            `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 322 |         if let Some(flag) = workload_result? {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                             up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                             up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 325 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.95/src/error.rs:662:1
[INFO] [stdout]     |
[INFO] [stdout] 662 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.95/src/error.rs:662:1
[INFO] [stdout]     |
[INFO] [stdout] 662 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.95/src/error.rs:662:1
[INFO] [stdout]     |
[INFO] [stdout] 662 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl tracing::Subscriber` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> torture/src/logging.rs:86:64
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub fn workload_subscriber(workload_dir: &impl AsRef<Path>) -> impl tracing::Subscriber {
[INFO] [stdout]    |                                                                ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> torture/src/logging.rs:86:42
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub fn workload_subscriber(workload_dir: &impl AsRef<Path>) -> impl tracing::Subscriber {
[INFO] [stdout]    |                                          ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]   --> torture/src/logging.rs:86:43
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub fn workload_subscriber(workload_dir: &impl AsRef<Path>) -> impl tracing::Subscriber {
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]    = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 86 - pub fn workload_subscriber(workload_dir: &impl AsRef<Path>) -> impl tracing::Subscriber {
[INFO] [stdout] 86 + pub fn workload_subscriber<T: AsRef<Path>>(workload_dir: &T) -> impl tracing::Subscriber + use<T> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating nomt/tests/prove_in_session.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating nomt/tests/last_layer_trie.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating nomt/tests/rollback.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating nomt/tests/compute_root.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating nomt/benches/beatree.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating nomt/tests/wal.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed nomt/src/beatree/ops/update/tests.rs (2 fixes)
[INFO] [stderr]    Migrating nomt/tests/add_remove.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> nomt/src/beatree/ops/update/branch_ops.rs:438:13
[INFO] [stdout]     |
[INFO] [stdout] 437 |         while let Some((ops, _gauge)) =
[INFO] [stdout]     |                         ---
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `ops` calls a custom destructor
[INFO] [stdout]     |                         `ops` will be dropped later as of Edition 2024
[INFO] [stdout] 438 |             ops_tracker.extract_ops_until(None, BRANCH_BULK_SPLIT_TARGET)
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |             up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 442 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `ops` invokes this custom destructor
[INFO] [stdout]    --> nomt/src/beatree/ops/update/branch_ops.rs:393:1
[INFO] [stdout]     |
[INFO] [stdout] 393 | impl<'a> Drop for BranchOps<'a> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> nomt/src/beatree/ops/update/branch_stage.rs:394:15
[INFO] [stdout]      |
[INFO] [stdout]  289 |     mut worker_params: WorkerParams<BranchNode>,
[INFO] [stdout]      |     -----------------
[INFO] [stdout]      |     |
[INFO] [stdout]      |     `worker_params` calls a custom destructor
[INFO] [stdout]      |     `worker_params` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  292 |     let mut pending_left_request = None;
[INFO] [stdout]      |         ------------------------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `pending_left_request` calls a custom destructor
[INFO] [stdout]      |         `pending_left_request` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  394 |         match worker_params.left_neighbor.as_ref().map(|l| l.rx.recv()) {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |               |
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  403 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/crossbeam-channel-0.5.13/src/channel.rs:655:1
[INFO] [stdout]      |
[INFO] [stdout]  655 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `pending_left_request` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/crossbeam-channel-0.5.13/src/channel.rs:655:1
[INFO] [stdout]      |
[INFO] [stdout]  655 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `worker_params` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/crossbeam-channel-0.5.13/src/channel.rs:1150:1
[INFO] [stdout]      |
[INFO] [stdout] 1150 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> nomt/src/beatree/ops/update/branch_updater.rs:211:40
[INFO] [stdout]     |
[INFO] [stdout] 211 |           while let Some((ops, gauge)) = self
[INFO] [stdout]     |  _________________________---____________^
[INFO] [stdout]     | |                         |
[INFO] [stdout]     | |                         `ops` calls a custom destructor
[INFO] [stdout]     | |                         `ops` will be dropped later as of Edition 2024
[INFO] [stdout] 212 | |             .ops_tracker
[INFO] [stdout] 213 | |             .extract_ops_until(self.base.as_ref(), target)
[INFO] [stdout]     | |                                                          ^
[INFO] [stdout]     | |                                                          |
[INFO] [stdout]     | |__________________________________________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                            up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 218 |           }
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `ops` invokes this custom destructor
[INFO] [stdout]    --> nomt/src/beatree/ops/update/branch_ops.rs:393:1
[INFO] [stdout]     |
[INFO] [stdout] 393 | impl<'a> Drop for BranchOps<'a> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> nomt/src/beatree/ops/update/leaf_stage.rs:640:15
[INFO] [stdout]      |
[INFO] [stdout]  519 |     mut worker_params: WorkerParams<LeafNode>,
[INFO] [stdout]      |     -----------------
[INFO] [stdout]      |     |
[INFO] [stdout]      |     `worker_params` calls a custom destructor
[INFO] [stdout]      |     `worker_params` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  523 |     let mut pending_left_request = None;
[INFO] [stdout]      |         ------------------------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `pending_left_request` calls a custom destructor
[INFO] [stdout]      |         `pending_left_request` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  640 |         match worker_params.left_neighbor.as_ref().map(|l| l.rx.recv()) {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |               |
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  649 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/crossbeam-channel-0.5.13/src/channel.rs:655:1
[INFO] [stdout]      |
[INFO] [stdout]  655 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `pending_left_request` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/crossbeam-channel-0.5.13/src/channel.rs:655:1
[INFO] [stdout]      |
[INFO] [stdout]  655 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `worker_params` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/crossbeam-channel-0.5.13/src/channel.rs:1150:1
[INFO] [stdout]      |
[INFO] [stdout] 1150 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> nomt/src/beatree/mod.rs:700:23
[INFO] [stdout]     |
[INFO] [stdout] 699 |                 let leaf = inner.finish_inner(page);
[INFO] [stdout]     |                     ----
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `leaf` calls a custom destructor
[INFO] [stdout]     |                     `leaf` will be dropped later as of Edition 2024
[INFO] [stdout] 700 |                 match ops::finish_lookup_async(self.key, &leaf, &inner.read_tx.leaf_store) {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 710 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> nomt/src/io/page_pool.rs:248:1
[INFO] [stdout]     |
[INFO] [stdout] 248 | impl Drop for Inner {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> nomt/src/io/page_pool.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl Drop for FatPage {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `leaf` invokes this custom destructor
[INFO] [stdout]    --> nomt/src/io/page_pool.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl Drop for FatPage {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> nomt/src/merkle/cache_prepopulate.rs:41:15
[INFO] [stdout]     |
[INFO] [stdout]  35 |         let complete_io = io_handle.recv().expect("I/O Pool Down");
[INFO] [stdout]     |             -----------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `complete_io` calls a custom destructor
[INFO] [stdout]     |             `complete_io` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  41 |         match load.try_complete(complete_io.command.kind.unwrap_buf()) { Some((page, bucket)) => {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  55 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `complete_io` invokes this custom destructor
[INFO] [stdout]    --> nomt/src/io/page_pool.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl Drop for FatPage {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> nomt/src/merkle/page_walker.rs:417:41
[INFO] [stdout]     |
[INFO] [stdout] 415 |                   let (page, page_origin) = if fresh {
[INFO] [stdout]     |  ___________________________________________-
[INFO] [stdout] 416 | |                     (
[INFO] [stdout] 417 | |                         page_set.fresh(&ROOT_PAGE_ID),
[INFO] [stdout]     | |                                         ^^^^^^^^^^^^
[INFO] [stdout]     | |                                         |
[INFO] [stdout]     | |                                         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |                                         up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 418 | |                         PageOrigin::Reconstructed(0, PageDiff::default()),
[INFO] [stdout] 419 | |                     )
[INFO] [stdout] 420 | |                 } else {
[INFO] [stdout]     | |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...   |
[INFO] [stdout] 425 | |                         .unwrap()
[INFO] [stdout] 426 | |                 };
[INFO] [stdout]     | |                 -
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |_________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 446 |                   let (page_id, page, diff, page_origin) = if fresh {
[INFO] [stdout]     |  __________________________________________________________-
[INFO] [stdout]     | |__________________________________________________________|
[INFO] [stdout] 447 | |                     let page = page_set.fresh(&child_page_id);
[INFO] [stdout] 448 | |                     (
[INFO] [stdout] 449 | |                         child_page_id,
[INFO] [stdout] ...   |
[INFO] [stdout] 456 | |                     let (page, page_origin) = page_set.get(&child_page_id).unwrap();
[INFO] [stdout]     | |                          ----                 -------------------------------------
[INFO] [stdout]     | |                          |                    |
[INFO] [stdout]     | |                          |                    this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |                          |                    `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                          `page` calls a custom destructor
[INFO] [stdout]     | |                          `page` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 463 | |                 };
[INFO] [stdout]     | |                 -
[INFO] [stdout]     | |_________________|
[INFO] [stdout]     | |_________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                   `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arrayvec-0.7.4/src/arrayvec.rs:48:1
[INFO] [stdout]     |
[INFO] [stdout]  48 | impl<T, const CAP: usize> Drop for ArrayVec<T, CAP> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> nomt/src/io/page_pool.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl Drop for FatPage {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> nomt/src/io/page_pool.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl Drop for FatPage {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arrayvec-0.7.4/src/arrayvec.rs:48:1
[INFO] [stdout]     |
[INFO] [stdout]  48 | impl<T, const CAP: usize> Drop for ArrayVec<T, CAP> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `page` invokes this custom destructor
[INFO] [stdout]    --> nomt/src/io/page_pool.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl Drop for FatPage {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> nomt/src/io/page_pool.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl Drop for FatPage {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> nomt/src/merkle/page_walker.rs:423:31
[INFO] [stdout]     |
[INFO] [stdout] 415 |                   let (page, page_origin) = if fresh {
[INFO] [stdout]     |  ___________________________________________-
[INFO] [stdout] 416 | |                     (
[INFO] [stdout] 417 | |                         page_set.fresh(&ROOT_PAGE_ID),
[INFO] [stdout] 418 | |                         PageOrigin::Reconstructed(0, PageDiff::default()),
[INFO] [stdout] ...   |
[INFO] [stdout] 423 | |                         .get(&ROOT_PAGE_ID)
[INFO] [stdout]     | |                               ^^^^^^^^^^^^
[INFO] [stdout]     | |                               |
[INFO] [stdout]     | |                               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |                               up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 424 | |                         .map(|(p, b)| (p.deep_copy(), b))
[INFO] [stdout] 425 | |                         .unwrap()
[INFO] [stdout] 426 | |                 };
[INFO] [stdout]     | |                 -
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | |_________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 446 |                   let (page_id, page, diff, page_origin) = if fresh {
[INFO] [stdout]     |  __________________________________________________________-
[INFO] [stdout]     | |__________________________________________________________|
[INFO] [stdout] 447 | |                     let page = page_set.fresh(&child_page_id);
[INFO] [stdout] 448 | |                     (
[INFO] [stdout] 449 | |                         child_page_id,
[INFO] [stdout] ...   |
[INFO] [stdout] 456 | |                     let (page, page_origin) = page_set.get(&child_page_id).unwrap();
[INFO] [stdout]     | |                          ----                 -------------------------------------
[INFO] [stdout]     | |                          |                    |
[INFO] [stdout]     | |                          |                    this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |                          |                    `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                          `page` calls a custom destructor
[INFO] [stdout]     | |                          `page` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 463 | |                 };
[INFO] [stdout]     | |                 -
[INFO] [stdout]     | |_________________|
[INFO] [stdout]     | |_________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                   `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arrayvec-0.7.4/src/arrayvec.rs:48:1
[INFO] [stdout]     |
[INFO] [stdout]  48 | impl<T, const CAP: usize> Drop for ArrayVec<T, CAP> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> nomt/src/io/page_pool.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl Drop for FatPage {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> nomt/src/io/page_pool.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl Drop for FatPage {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arrayvec-0.7.4/src/arrayvec.rs:48:1
[INFO] [stdout]     |
[INFO] [stdout]  48 | impl<T, const CAP: usize> Drop for ArrayVec<T, CAP> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `page` invokes this custom destructor
[INFO] [stdout]    --> nomt/src/io/page_pool.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl Drop for FatPage {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> nomt/src/io/page_pool.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl Drop for FatPage {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> nomt/src/merkle/page_walker.rs:1122:15
[INFO] [stdout]      |
[INFO] [stdout] 1099 |         let page_set = MockPageSet::default();
[INFO] [stdout]      |             --------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `page_set` calls a custom destructor
[INFO] [stdout]      |             `page_set` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1122 |         match walker.conclude() {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |               |
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1142 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> nomt/src/io/page_pool.rs:111:1
[INFO] [stdout]      |
[INFO] [stdout]  111 | impl Drop for FatPage {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arrayvec-0.7.4/src/arrayvec.rs:48:1
[INFO] [stdout]      |
[INFO] [stdout]   48 | impl<T, const CAP: usize> Drop for ArrayVec<T, CAP> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `page_set` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/imbl-sized-chunks-0.1.2/src/sparse_chunk/mod.rs:59:1
[INFO] [stdout]      |
[INFO] [stdout]   59 | / impl<A, const N: usize> Drop for SparseChunk<A, N>
[INFO] [stdout]   60 | | where
[INFO] [stdout]   61 | |     BitsImpl<N>: Bits,
[INFO] [stdout]      | |______________________^
[INFO] [stdout] note: `page_set` invokes this custom destructor
[INFO] [stdout]     --> nomt/src/io/page_pool.rs:248:1
[INFO] [stdout]      |
[INFO] [stdout]  248 | impl Drop for Inner {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> nomt/src/merkle/page_walker.rs:1181:15
[INFO] [stdout]      |
[INFO] [stdout] 1147 |         let mut page_set = MockPageSet::default();
[INFO] [stdout]      |             ------------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `page_set` calls a custom destructor
[INFO] [stdout]      |             `page_set` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1181 |         match walker.conclude() {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |               |
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1200 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> nomt/src/io/page_pool.rs:111:1
[INFO] [stdout]      |
[INFO] [stdout]  111 | impl Drop for FatPage {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arrayvec-0.7.4/src/arrayvec.rs:48:1
[INFO] [stdout]      |
[INFO] [stdout]   48 | impl<T, const CAP: usize> Drop for ArrayVec<T, CAP> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `page_set` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/imbl-sized-chunks-0.1.2/src/sparse_chunk/mod.rs:59:1
[INFO] [stdout]      |
[INFO] [stdout]   59 | / impl<A, const N: usize> Drop for SparseChunk<A, N>
[INFO] [stdout]   60 | | where
[INFO] [stdout]   61 | |     BitsImpl<N>: Bits,
[INFO] [stdout]      | |______________________^
[INFO] [stdout] note: `page_set` invokes this custom destructor
[INFO] [stdout]     --> nomt/src/io/page_pool.rs:248:1
[INFO] [stdout]      |
[INFO] [stdout]  248 | impl Drop for Inner {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> nomt/src/merkle/page_walker.rs:1251:15
[INFO] [stdout]      |
[INFO] [stdout] 1205 |         let mut page_set = MockPageSet::default();
[INFO] [stdout]      |             ------------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `page_set` calls a custom destructor
[INFO] [stdout]      |             `page_set` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1251 |         match walker.conclude() {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |               |
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1265 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> nomt/src/io/page_pool.rs:111:1
[INFO] [stdout]      |
[INFO] [stdout]  111 | impl Drop for FatPage {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arrayvec-0.7.4/src/arrayvec.rs:48:1
[INFO] [stdout]      |
[INFO] [stdout]   48 | impl<T, const CAP: usize> Drop for ArrayVec<T, CAP> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `page_set` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/imbl-sized-chunks-0.1.2/src/sparse_chunk/mod.rs:59:1
[INFO] [stdout]      |
[INFO] [stdout]   59 | / impl<A, const N: usize> Drop for SparseChunk<A, N>
[INFO] [stdout]   60 | | where
[INFO] [stdout]   61 | |     BitsImpl<N>: Bits,
[INFO] [stdout]      | |______________________^
[INFO] [stdout] note: `page_set` invokes this custom destructor
[INFO] [stdout]     --> nomt/src/io/page_pool.rs:248:1
[INFO] [stdout]      |
[INFO] [stdout]  248 | impl Drop for Inner {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> nomt/src/merkle/page_walker.rs:1312:15
[INFO] [stdout]      |
[INFO] [stdout] 1270 |         let mut page_set = MockPageSet::default();
[INFO] [stdout]      |             ------------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `page_set` calls a custom destructor
[INFO] [stdout]      |             `page_set` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1277 |         let page_id_a = trie_pos![0, 0, 0, 0, 0, 0, 0].page_id().unwrap();
[INFO] [stdout]      |             ---------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `page_id_a` calls a custom destructor
[INFO] [stdout]      |             `page_id_a` will be dropped later as of Edition 2024
[INFO] [stdout] 1278 |         let page_id_b = trie_pos![0, 0, 0, 0, 0, 1, 0].page_id().unwrap();
[INFO] [stdout]      |             ---------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `page_id_b` calls a custom destructor
[INFO] [stdout]      |             `page_id_b` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1312 |         match walker.conclude() {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |               |
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1355 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> nomt/src/io/page_pool.rs:111:1
[INFO] [stdout]      |
[INFO] [stdout]  111 | impl Drop for FatPage {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arrayvec-0.7.4/src/arrayvec.rs:48:1
[INFO] [stdout]      |
[INFO] [stdout]   48 | impl<T, const CAP: usize> Drop for ArrayVec<T, CAP> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `page_set` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/imbl-sized-chunks-0.1.2/src/sparse_chunk/mod.rs:59:1
[INFO] [stdout]      |
[INFO] [stdout]   59 | / impl<A, const N: usize> Drop for SparseChunk<A, N>
[INFO] [stdout]   60 | | where
[INFO] [stdout]   61 | |     BitsImpl<N>: Bits,
[INFO] [stdout]      | |______________________^
[INFO] [stdout] note: `page_set` invokes this custom destructor
[INFO] [stdout]     --> nomt/src/io/page_pool.rs:248:1
[INFO] [stdout]      |
[INFO] [stdout]  248 | impl Drop for Inner {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `page_id_a` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arrayvec-0.7.4/src/arrayvec.rs:48:1
[INFO] [stdout]      |
[INFO] [stdout]   48 | impl<T, const CAP: usize> Drop for ArrayVec<T, CAP> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `page_id_b` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arrayvec-0.7.4/src/arrayvec.rs:48:1
[INFO] [stdout]      |
[INFO] [stdout]   48 | impl<T, const CAP: usize> Drop for ArrayVec<T, CAP> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> nomt/src/merkle/page_walker.rs:1584:15
[INFO] [stdout]      |
[INFO] [stdout] 1524 |         let mut page_set = MockPageSet::default();
[INFO] [stdout]      |             ------------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `page_set` calls a custom destructor
[INFO] [stdout]      |             `page_set` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1533 |         let mut page_id_iter = PageIdsIterator::new(leaf_a_key_path);
[INFO] [stdout]      |             ----------------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `page_id_iter` calls a custom destructor
[INFO] [stdout]      |             `page_id_iter` will be dropped later as of Edition 2024
[INFO] [stdout] 1534 |         let root_page = page_id_iter.next().unwrap();
[INFO] [stdout]      |             ---------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `root_page` calls a custom destructor
[INFO] [stdout]      |             `root_page` will be dropped later as of Edition 2024
[INFO] [stdout] 1535 |         let page_id_1 = page_id_iter.next().unwrap();
[INFO] [stdout]      |             ---------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `page_id_1` calls a custom destructor
[INFO] [stdout]      |             `page_id_1` will be dropped later as of Edition 2024
[INFO] [stdout] 1536 |         let page_id_2 = page_id_iter.next().unwrap();
[INFO] [stdout]      |             ---------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `page_id_2` calls a custom destructor
[INFO] [stdout]      |             `page_id_2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1584 |         match walker.conclude() {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |               |
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1595 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> nomt/src/io/page_pool.rs:111:1
[INFO] [stdout]      |
[INFO] [stdout]  111 | impl Drop for FatPage {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arrayvec-0.7.4/src/arrayvec.rs:48:1
[INFO] [stdout]      |
[INFO] [stdout]   48 | impl<T, const CAP: usize> Drop for ArrayVec<T, CAP> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `page_set` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/imbl-sized-chunks-0.1.2/src/sparse_chunk/mod.rs:59:1
[INFO] [stdout]      |
[INFO] [stdout]   59 | / impl<A, const N: usize> Drop for SparseChunk<A, N>
[INFO] [stdout]   60 | | where
[INFO] [stdout]   61 | |     BitsImpl<N>: Bits,
[INFO] [stdout]      | |______________________^
[INFO] [stdout] note: `page_set` invokes this custom destructor
[INFO] [stdout]     --> nomt/src/io/page_pool.rs:248:1
[INFO] [stdout]      |
[INFO] [stdout]  248 | impl Drop for Inner {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `page_id_iter` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arrayvec-0.7.4/src/arrayvec.rs:48:1
[INFO] [stdout]      |
[INFO] [stdout]   48 | impl<T, const CAP: usize> Drop for ArrayVec<T, CAP> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `root_page` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arrayvec-0.7.4/src/arrayvec.rs:48:1
[INFO] [stdout]      |
[INFO] [stdout]   48 | impl<T, const CAP: usize> Drop for ArrayVec<T, CAP> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `page_id_1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arrayvec-0.7.4/src/arrayvec.rs:48:1
[INFO] [stdout]      |
[INFO] [stdout]   48 | impl<T, const CAP: usize> Drop for ArrayVec<T, CAP> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `page_id_2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arrayvec-0.7.4/src/arrayvec.rs:48:1
[INFO] [stdout]      |
[INFO] [stdout]   48 | impl<T, const CAP: usize> Drop for ArrayVec<T, CAP> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> nomt/src/merkle/page_walker.rs:1700:15
[INFO] [stdout]      |
[INFO] [stdout] 1677 |         let page_set = MockPageSet::default();
[INFO] [stdout]      |             --------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `page_set` calls a custom destructor
[INFO] [stdout]      |             `page_set` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1700 |         match walker.conclude() {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |               |
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1708 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> nomt/src/io/page_pool.rs:111:1
[INFO] [stdout]      |
[INFO] [stdout]  111 | impl Drop for FatPage {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arrayvec-0.7.4/src/arrayvec.rs:48:1
[INFO] [stdout]      |
[INFO] [stdout]   48 | impl<T, const CAP: usize> Drop for ArrayVec<T, CAP> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `page_set` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/imbl-sized-chunks-0.1.2/src/sparse_chunk/mod.rs:59:1
[INFO] [stdout]      |
[INFO] [stdout]   59 | / impl<A, const N: usize> Drop for SparseChunk<A, N>
[INFO] [stdout]   60 | | where
[INFO] [stdout]   61 | |     BitsImpl<N>: Bits,
[INFO] [stdout]      | |______________________^
[INFO] [stdout] note: `page_set` invokes this custom destructor
[INFO] [stdout]     --> nomt/src/io/page_pool.rs:248:1
[INFO] [stdout]      |
[INFO] [stdout]  248 | impl Drop for Inner {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> nomt/src/merkle/seek.rs:716:27
[INFO] [stdout]     |
[INFO] [stdout] 706 |                       let vacant_entry = match self.io_waiters.entry(IoQuery::LeafPage(page_number)) {
[INFO] [stdout]     |                           ------------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           `vacant_entry` calls a custom destructor
[INFO] [stdout]     |                           `vacant_entry` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 716 |                       match self.beatree_read_transaction.load_leaf_async(
[INFO] [stdout]     |  ___________________________^
[INFO] [stdout] 717 | |                         page_number,
[INFO] [stdout] 718 | |                         &self.io_handle,
[INFO] [stdout] 719 | |                         slab_index as u64,
[INFO] [stdout] 720 | |                     ) {
[INFO] [stdout]     | |                     ^
[INFO] [stdout]     | |                     |
[INFO] [stdout]     | |_____________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 746 |                   }
[INFO] [stdout]     |                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> nomt/src/beatree/mod.rs:615:1
[INFO] [stdout]     |
[INFO] [stdout] 615 | impl Drop for ReadTransactionInner {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> nomt/src/io/page_pool.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl Drop for FatPage {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `vacant_entry` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arrayvec-0.7.4/src/arrayvec.rs:48:1
[INFO] [stdout]     |
[INFO] [stdout]  48 | impl<T, const CAP: usize> Drop for ArrayVec<T, CAP> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> nomt/src/merkle/seek.rs:657:33
[INFO] [stdout]     |
[INFO] [stdout] 657 |         while let Some(query) = request.next_query() {
[INFO] [stdout]     |                        -----    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                        |        |
[INFO] [stdout]     |                        |        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                        |        up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        `query` calls a custom destructor
[INFO] [stdout]     |                        `query` will be dropped later as of Edition 2024
[INFO] [stdout] 658 |             match query {
[INFO] [stdout] 659 |                 IoQuery::MerklePage(page_id) => {
[INFO] [stdout]     |                                     -------
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     `page_id` calls a custom destructor
[INFO] [stdout]     |                                     `page_id` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 662 |                     let maybe_page = page_set.get(&page_id).map(|(page, _origin)| page).or(
[INFO] [stdout]     |                         ----------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `maybe_page` calls a custom destructor
[INFO] [stdout]     |                         `maybe_page` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 675 |                     if let Some(page) = maybe_page {
[INFO] [stdout]     |                                 ----
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 `page` calls a custom destructor
[INFO] [stdout]     |                                 `page` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 688 |                         match self.io_waiters.entry(IoQuery::MerklePage(page_id.clone())) {
[INFO] [stdout]     |                               -----------------------------------------------------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                               `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 706 |                     let vacant_entry = match self.io_waiters.entry(IoQuery::LeafPage(page_number)) {
[INFO] [stdout]     |                         ------------         -----------------------------------------------------
[INFO] [stdout]     |                         |                    |
[INFO] [stdout]     |                         |                    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                         |                    `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                         `vacant_entry` calls a custom destructor
[INFO] [stdout]     |                         `vacant_entry` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 748 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arrayvec-0.7.4/src/arrayvec.rs:48:1
[INFO] [stdout]     |
[INFO] [stdout]  48 | impl<T, const CAP: usize> Drop for ArrayVec<T, CAP> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `query` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arrayvec-0.7.4/src/arrayvec.rs:48:1
[INFO] [stdout]     |
[INFO] [stdout]  48 | impl<T, const CAP: usize> Drop for ArrayVec<T, CAP> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `page_id` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arrayvec-0.7.4/src/arrayvec.rs:48:1
[INFO] [stdout]     |
[INFO] [stdout]  48 | impl<T, const CAP: usize> Drop for ArrayVec<T, CAP> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `maybe_page` invokes this custom destructor
[INFO] [stdout]    --> nomt/src/io/page_pool.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl Drop for FatPage {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `page` invokes this custom destructor
[INFO] [stdout]    --> nomt/src/io/page_pool.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl Drop for FatPage {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arrayvec-0.7.4/src/arrayvec.rs:48:1
[INFO] [stdout]     |
[INFO] [stdout]  48 | impl<T, const CAP: usize> Drop for ArrayVec<T, CAP> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `vacant_entry` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arrayvec-0.7.4/src/arrayvec.rs:48:1
[INFO] [stdout]     |
[INFO] [stdout]  48 | impl<T, const CAP: usize> Drop for ArrayVec<T, CAP> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arrayvec-0.7.4/src/arrayvec.rs:48:1
[INFO] [stdout]     |
[INFO] [stdout]  48 | impl<T, const CAP: usize> Drop for ArrayVec<T, CAP> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> nomt/src/overlay.rs:151:19
[INFO] [stdout]     |
[INFO] [stdout] 151 |             match self.pages_by_seqn.pop_front() {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 157 |                 Some((seqn, page_id)) => {
[INFO] [stdout]     |                             -------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `page_id` calls a custom destructor
[INFO] [stdout]     |                             `page_id` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 168 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arrayvec-0.7.4/src/arrayvec.rs:48:1
[INFO] [stdout]     |
[INFO] [stdout]  48 | impl<T, const CAP: usize> Drop for ArrayVec<T, CAP> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `page_id` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arrayvec-0.7.4/src/arrayvec.rs:48:1
[INFO] [stdout]     |
[INFO] [stdout]  48 | impl<T, const CAP: usize> Drop for ArrayVec<T, CAP> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> nomt/src/store/mod.rs:239:32
[INFO] [stdout]     |
[INFO] [stdout] 232 |             let completion = io_handle.recv()?;
[INFO] [stdout]     |                 ----------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `completion` calls a custom destructor
[INFO] [stdout]     |                 `completion` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 239 |             if let Some(res) = page_load.try_complete(page) {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 242 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `completion` invokes this custom destructor
[INFO] [stdout]    --> nomt/src/io/page_pool.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl Drop for FatPage {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> nomt/src/store/mod.rs:413:8
[INFO] [stdout]     |
[INFO] [stdout] 412 |     let mut entries = std::fs::read_dir(path)?;
[INFO] [stdout]     |         -----------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `entries` calls a custom destructor
[INFO] [stdout]     |         `entries` will be dropped later as of Edition 2024
[INFO] [stdout] 413 |     Ok(entries.next().is_none())
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout]     |        |
[INFO] [stdout]     |        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 414 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `entries` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> nomt/src/io/linux.rs:134:23
[INFO] [stdout]     |
[INFO] [stdout]  85 |                     completion_sender,
[INFO] [stdout]     |                     -----------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `completion_sender` calls a custom destructor
[INFO] [stdout]     |                     `completion_sender` will be dropped later as of Edition 2024
[INFO] [stdout]  86 |                 } = pending.remove(completion_event.user_data() as usize);
[INFO] [stdout]     |                     -----------------------------------------------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                     `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 108 |                 let _ = completion_sender.send(complete);
[INFO] [stdout]     |                         --------------------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 128 |             let next_io = if !retries.is_empty() {
[INFO] [stdout]     |                 -------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `next_io` calls a custom destructor
[INFO] [stdout]     |                 `next_io` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 134 |                 match command_rx.recv() {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                       up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 141 |             } else {
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/crossbeam-channel-0.5.13/src/channel.rs:655:1
[INFO] [stdout]     |
[INFO] [stdout] 655 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> nomt/src/io/page_pool.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl Drop for FatPage {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `completion_sender` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/crossbeam-channel-0.5.13/src/channel.rs:655:1
[INFO] [stdout]     |
[INFO] [stdout] 655 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/crossbeam-channel-0.5.13/src/channel.rs:655:1
[INFO] [stdout]     |
[INFO] [stdout] 655 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> nomt/src/io/page_pool.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl Drop for FatPage {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> nomt/src/io/page_pool.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl Drop for FatPage {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `next_io` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/crossbeam-channel-0.5.13/src/channel.rs:655:1
[INFO] [stdout]     |
[INFO] [stdout] 655 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `next_io` invokes this custom destructor
[INFO] [stdout]    --> nomt/src/io/page_pool.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl Drop for FatPage {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> nomt/src/io/linux.rs:142:23
[INFO] [stdout]     |
[INFO] [stdout]  85 |                     completion_sender,
[INFO] [stdout]     |                     -----------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `completion_sender` calls a custom destructor
[INFO] [stdout]     |                     `completion_sender` will be dropped later as of Edition 2024
[INFO] [stdout]  86 |                 } = pending.remove(completion_event.user_data() as usize);
[INFO] [stdout]     |                     -----------------------------------------------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                     `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 108 |                 let _ = completion_sender.send(complete);
[INFO] [stdout]     |                         --------------------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 128 |             let next_io = if !retries.is_empty() {
[INFO] [stdout]     |                 -------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `next_io` calls a custom destructor
[INFO] [stdout]     |                 `next_io` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 142 |                 match command_rx.try_recv() {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                       up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 150 |             };
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/crossbeam-channel-0.5.13/src/channel.rs:655:1
[INFO] [stdout]     |
[INFO] [stdout] 655 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> nomt/src/io/page_pool.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl Drop for FatPage {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `completion_sender` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/crossbeam-channel-0.5.13/src/channel.rs:655:1
[INFO] [stdout]     |
[INFO] [stdout] 655 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/crossbeam-channel-0.5.13/src/channel.rs:655:1
[INFO] [stdout]     |
[INFO] [stdout] 655 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> nomt/src/io/page_pool.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl Drop for FatPage {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> nomt/src/io/page_pool.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl Drop for FatPage {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `next_io` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/crossbeam-channel-0.5.13/src/channel.rs:655:1
[INFO] [stdout]     |
[INFO] [stdout] 655 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `next_io` invokes this custom destructor
[INFO] [stdout]    --> nomt/src/io/page_pool.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl Drop for FatPage {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl Iterator<Item = (PageId, page_cache::Page, PageDiff, u64)>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> nomt/src/merkle/page_walker.rs:955:13
[INFO] [stdout]     |
[INFO] [stdout] 955 | ) -> Option<impl Iterator<Item = (PageId, Page, PageDiff, u64)>> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, these lifetimes are in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> nomt/src/merkle/page_walker.rs:950:11
[INFO] [stdout]     |
[INFO] [stdout] 950 |     page: &Page,
[INFO] [stdout]     |           ^
[INFO] [stdout] ...
[INFO] [stdout] 953 |     page_set: &mut impl PageSet,
[INFO] [stdout]     |               ^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]    --> nomt/src/merkle/page_walker.rs:953:20
[INFO] [stdout]     |
[INFO] [stdout] 953 |     page_set: &mut impl PageSet,
[INFO] [stdout]     |                    ^^^^^^^^^^^^
[INFO] [stdout] 954 |     ops: impl IntoIterator<Item = (KeyPath, ValueHash)>,
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]     = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 949 ~ pub fn reconstruct_pages<H: nomt_core::hasher::NodeHasher, T: PageSet, U: IntoIterator<Item = (KeyPath, ValueHash)>>(
[INFO] [stdout] 950 |     page: &Page,
[INFO] [stdout] 951 |     page_id: PageId,
[INFO] [stdout] 952 |     position: TriePosition,
[INFO] [stdout] 953 ~     page_set: &mut T,
[INFO] [stdout] 954 ~     ops: U,
[INFO] [stdout] 955 ~ ) -> Option<impl Iterator<Item = (PageId, Page, PageDiff, u64)> + use<H, T, U>> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating nomt/tests/overlay.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating nomt/tests/large_values.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating nomt/tests/prev_root_check.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating nomt/tests/extend_range_protocol.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating nomt/tests/witness_check.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating nomt/tests/exclusive_dir.rs from 2021 edition to 2024
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 32.60s
[INFO] [stderr] crater-edition-check: nomt-core v1.0.0-preview (/opt/rustwide/workdir/core) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: nomt v1.0.0-preview (/opt/rustwide/workdir/nomt) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: nomt-fuzz v0.0.0 (/opt/rustwide/workdir/fuzz) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: torture v0.1.0 (/opt/rustwide/workdir/torture) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: trickfs v0.1.0 (/opt/rustwide/workdir/trickfs) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: commit-batch v0.1.0 (/opt/rustwide/workdir/examples/commit_batch) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: read_value v0.1.0 (/opt/rustwide/workdir/examples/read_value) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: witness_verification v0.1.0 (/opt/rustwide/workdir/examples/witness_verification) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: trickmnt v0.1.0 (/opt/rustwide/workdir/trickfs/trickmnt) updating edition from 2021 to 2024
[INFO] [stderr]     Checking nomt-core v1.0.0-preview (/opt/rustwide/workdir/core)
[INFO] [stderr]     Checking trickfs v0.1.0 (/opt/rustwide/workdir/trickfs)
[INFO] [stderr]     Checking trickmnt v0.1.0 (/opt/rustwide/workdir/trickfs/trickmnt)
[INFO] [stderr]     Checking nomt v1.0.0-preview (/opt/rustwide/workdir/nomt)
[INFO] [stdout] error[E0499]: cannot borrow `*page_set` as mutable more than once at a time
[INFO] [stdout]    --> nomt/src/merkle/seek.rs:345:17
[INFO] [stdout]     |
[INFO] [stdout] 339 |             page_set,
[INFO] [stdout]     |             -------- first mutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 345 |                 page_set.insert(
[INFO] [stdout]     |                 ^^^^^^^^ second mutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 355 |     }
[INFO] [stdout]     |     - first borrow might be used here, when `maybe_pages` is dropped and runs the destructor for type `Option<impl Iterator<Item = (PageId, page_cache::Page, PageDiff, u64)>>`
[INFO] [stdout]     |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]    --> nomt/src/merkle/seek.rs:335:27
[INFO] [stdout]     |
[INFO] [stdout] 335 |           let maybe_pages = super::page_walker::reconstruct_pages::<H>(
[INFO] [stdout]     |  ___________________________^
[INFO] [stdout] 336 | |             page,
[INFO] [stdout] 337 | |             self.page_id.clone().unwrap(),
[INFO] [stdout] 338 | |             self.position.clone(),
[INFO] [stdout] 339 | |             page_set,
[INFO] [stdout] 340 | |             ops,
[INFO] [stdout] 341 | |         );
[INFO] [stdout]     | |_________^
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]    --> nomt/src/merkle/page_walker.rs:953:20
[INFO] [stdout]     |
[INFO] [stdout] 953 |     page_set: &mut impl PageSet,
[INFO] [stdout]     |                    ^^^^^^^^^^^^
[INFO] [stdout] 954 |     ops: impl IntoIterator<Item = (KeyPath, ValueHash)>,
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    --> nomt/src/merkle/page_walker.rs:949:58
[INFO] [stdout]     |
[INFO] [stdout] 949 ~ pub fn reconstruct_pages<H: nomt_core::hasher::NodeHasher, T: PageSet, U: IntoIterator<Item = (KeyPath, ValueHash)>>(
[INFO] [stdout] 950 |     page: &Page,
[INFO] [stdout] 951 |     page_id: PageId,
[INFO] [stdout] 952 |     position: TriePosition,
[INFO] [stdout] 953 ~     page_set: &mut T,
[INFO] [stdout] 954 ~     ops: U,
[INFO] [stdout] 955 ~ ) -> Option<impl Iterator<Item = (PageId, Page, PageDiff, u64)> + use<H, T, U>> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0506]: cannot assign to `self.state` because it is borrowed
[INFO] [stdout]    --> nomt/src/merkle/seek.rs:354:9
[INFO] [stdout]     |
[INFO] [stdout] 228 |             ref page,
[INFO] [stdout]     |             -------- `self.state` is borrowed here
[INFO] [stdout] ...
[INFO] [stdout] 354 |         self.state = RequestState::Seeking;
[INFO] [stdout]     |         ^^^^^^^^^^ `self.state` is assigned to here but it was already borrowed
[INFO] [stdout] 355 |     }
[INFO] [stdout]     |     - borrow might be used here, when `maybe_pages` is dropped and runs the destructor for type `Option<impl Iterator<Item = (PageId, page_cache::Page, PageDiff, u64)>>`
[INFO] [stdout]     |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]    --> nomt/src/merkle/seek.rs:335:27
[INFO] [stdout]     |
[INFO] [stdout] 335 |           let maybe_pages = super::page_walker::reconstruct_pages::<H>(
[INFO] [stdout]     |  ___________________________^
[INFO] [stdout] 336 | |             page,
[INFO] [stdout] 337 | |             self.page_id.clone().unwrap(),
[INFO] [stdout] 338 | |             self.position.clone(),
[INFO] [stdout] 339 | |             page_set,
[INFO] [stdout] 340 | |             ops,
[INFO] [stdout] 341 | |         );
[INFO] [stdout]     | |_________^
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]    --> nomt/src/merkle/page_walker.rs:953:20
[INFO] [stdout]     |
[INFO] [stdout] 953 |     page_set: &mut impl PageSet,
[INFO] [stdout]     |                    ^^^^^^^^^^^^
[INFO] [stdout] 954 |     ops: impl IntoIterator<Item = (KeyPath, ValueHash)>,
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    --> nomt/src/merkle/page_walker.rs:949:58
[INFO] [stdout]     |
[INFO] [stdout] 949 ~ pub fn reconstruct_pages<H: nomt_core::hasher::NodeHasher, T: PageSet, U: IntoIterator<Item = (KeyPath, ValueHash)>>(
[INFO] [stdout] 950 |     page: &Page,
[INFO] [stdout] 951 |     page_id: PageId,
[INFO] [stdout] 952 |     position: TriePosition,
[INFO] [stdout] 953 ~     page_set: &mut T,
[INFO] [stdout] 954 ~     ops: U,
[INFO] [stdout] 955 ~ ) -> Option<impl Iterator<Item = (PageId, Page, PageDiff, u64)> + use<H, T, U>> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0499, E0506.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0499`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `nomt` (lib) due to 2 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0499]: cannot borrow `*page_set` as mutable more than once at a time
[INFO] [stdout]    --> nomt/src/merkle/seek.rs:345:17
[INFO] [stdout]     |
[INFO] [stdout] 339 |             page_set,
[INFO] [stdout]     |             -------- first mutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 345 |                 page_set.insert(
[INFO] [stdout]     |                 ^^^^^^^^ second mutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 355 |     }
[INFO] [stdout]     |     - first borrow might be used here, when `maybe_pages` is dropped and runs the destructor for type `Option<impl Iterator<Item = (PageId, page_cache::Page, PageDiff, u64)>>`
[INFO] [stdout]     |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]    --> nomt/src/merkle/seek.rs:335:27
[INFO] [stdout]     |
[INFO] [stdout] 335 |           let maybe_pages = super::page_walker::reconstruct_pages::<H>(
[INFO] [stdout]     |  ___________________________^
[INFO] [stdout] 336 | |             page,
[INFO] [stdout] 337 | |             self.page_id.clone().unwrap(),
[INFO] [stdout] 338 | |             self.position.clone(),
[INFO] [stdout] 339 | |             page_set,
[INFO] [stdout] 340 | |             ops,
[INFO] [stdout] 341 | |         );
[INFO] [stdout]     | |_________^
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]    --> nomt/src/merkle/page_walker.rs:953:20
[INFO] [stdout]     |
[INFO] [stdout] 953 |     page_set: &mut impl PageSet,
[INFO] [stdout]     |                    ^^^^^^^^^^^^
[INFO] [stdout] 954 |     ops: impl IntoIterator<Item = (KeyPath, ValueHash)>,
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    --> nomt/src/merkle/page_walker.rs:949:58
[INFO] [stdout]     |
[INFO] [stdout] 949 ~ pub fn reconstruct_pages<H: nomt_core::hasher::NodeHasher, T: PageSet, U: IntoIterator<Item = (KeyPath, ValueHash)>>(
[INFO] [stdout] 950 |     page: &Page,
[INFO] [stdout] 951 |     page_id: PageId,
[INFO] [stdout] 952 |     position: TriePosition,
[INFO] [stdout] 953 ~     page_set: &mut T,
[INFO] [stdout] 954 ~     ops: U,
[INFO] [stdout] 955 ~ ) -> Option<impl Iterator<Item = (PageId, Page, PageDiff, u64)> + use<H, T, U>> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0506]: cannot assign to `self.state` because it is borrowed
[INFO] [stdout]    --> nomt/src/merkle/seek.rs:354:9
[INFO] [stdout]     |
[INFO] [stdout] 228 |             ref page,
[INFO] [stdout]     |             -------- `self.state` is borrowed here
[INFO] [stdout] ...
[INFO] [stdout] 354 |         self.state = RequestState::Seeking;
[INFO] [stdout]     |         ^^^^^^^^^^ `self.state` is assigned to here but it was already borrowed
[INFO] [stdout] 355 |     }
[INFO] [stdout]     |     - borrow might be used here, when `maybe_pages` is dropped and runs the destructor for type `Option<impl Iterator<Item = (PageId, page_cache::Page, PageDiff, u64)>>`
[INFO] [stdout]     |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]    --> nomt/src/merkle/seek.rs:335:27
[INFO] [stdout]     |
[INFO] [stdout] 335 |           let maybe_pages = super::page_walker::reconstruct_pages::<H>(
[INFO] [stdout]     |  ___________________________^
[INFO] [stdout] 336 | |             page,
[INFO] [stdout] 337 | |             self.page_id.clone().unwrap(),
[INFO] [stdout] 338 | |             self.position.clone(),
[INFO] [stdout] 339 | |             page_set,
[INFO] [stdout] 340 | |             ops,
[INFO] [stdout] 341 | |         );
[INFO] [stdout]     | |_________^
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]    --> nomt/src/merkle/page_walker.rs:953:20
[INFO] [stdout]     |
[INFO] [stdout] 953 |     page_set: &mut impl PageSet,
[INFO] [stdout]     |                    ^^^^^^^^^^^^
[INFO] [stdout] 954 |     ops: impl IntoIterator<Item = (KeyPath, ValueHash)>,
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    --> nomt/src/merkle/page_walker.rs:949:58
[INFO] [stdout]     |
[INFO] [stdout] 949 ~ pub fn reconstruct_pages<H: nomt_core::hasher::NodeHasher, T: PageSet, U: IntoIterator<Item = (KeyPath, ValueHash)>>(
[INFO] [stdout] 950 |     page: &Page,
[INFO] [stdout] 951 |     page_id: PageId,
[INFO] [stdout] 952 |     position: TriePosition,
[INFO] [stdout] 953 ~     page_set: &mut T,
[INFO] [stdout] 954 ~     ops: U,
[INFO] [stdout] 955 ~ ) -> Option<impl Iterator<Item = (PageId, Page, PageDiff, u64)> + use<H, T, U>> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0499, E0506.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0499`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `nomt` (lib test) due to 2 previous errors
[INFO] running `Command { std: "docker" "inspect" "698cd126dd2ed8e25e9e5e8c553d70cc6b5676ea310236b16a7a6bc09f0d23f4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "698cd126dd2ed8e25e9e5e8c553d70cc6b5676ea310236b16a7a6bc09f0d23f4", kill_on_drop: false }`
[INFO] [stdout] 698cd126dd2ed8e25e9e5e8c553d70cc6b5676ea310236b16a7a6bc09f0d23f4
